package cc.admin.modules.sys.model;

import cc.admin.modules.sys.entity.SysOrg;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 机构表 封装树结构的机构的名称的实体类
 *
 * @Author
 * @Since 2022-07-07
 *
 */
@Data
public class OrgIdModel implements Serializable {

    private static final long serialVersionUID = 1L;

    // 主键ID
    private String key;

    // 主键ID
    private String value;

    // 机构名称
    private String title;

    List<OrgIdModel> children = new ArrayList<>();

    /**
     * 将SysOrganizeTreeModel的部分数据放在该对象当中
     * @param treeModel
     * @return
     */
    public OrgIdModel convert(SysOrgTreeModel treeModel) {
        this.key = treeModel.getId();
        this.value = treeModel.getId();
        this.title = treeModel.getName();
        return this;
    }

    /**
     * 该方法为用户机构的实现类所使用
     * @param sysOrg
     * @return
     */
    public OrgIdModel convertByUserDepart(SysOrg sysOrg) {
        this.key = sysOrg.getId();
        this.value = sysOrg.getId();
        this.title = sysOrg.getName();
        return this;
    }

}
